iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0
自我挑戰組

簡介密碼學系列 第 26

Day26- RSA數位簽章

  • 分享至 

  • xImage
  •  

把RSA用於數位簽章

數位簽章就是公鑰演算法的延伸,而作為最知名和使用最廣泛的RSA公鑰演算法,自然不會少
同樣運用RSA中的超大數質因數分解來保證其安全性

使用方法(簽章)

RSA數位簽章需要搭配雜湊函式去一起使用,能用很多不同的雜湊函式如:sha 1、sha 2、md5等等,
只要簽章和驗章雙方講好使用同一個雜湊函式就好
大概流程入如下:
https://ithelp.ithome.com.tw/upload/images/20220927/20151821ukpLP1vyH3.png
1.將需要簽章的文本經過雜湊函式獲得其雜湊值
2.對該雜湊值用RSA的私鑰(簽章人)去做加密運算,加密方法和RSA一樣
3.將需要簽章的文本(原文)和加密後的值合併後送出
只有3步就是如此簡單

如何驗章

簽完章就是要驗章,才能知道是不是同一個人簽的章
而驗章流程入下:
https://ithelp.ithome.com.tw/upload/images/20220927/20151821Wp7jJvPG2t.png
1.將簽章的檔案分成原文和加密後的章
2.將原文經過和簽章一樣的雜湊函式獲得其雜湊值
3.將加密簽章用簽章人的公鑰和n去做解密,成未加密的雜湊值(簽章時對雜湊值做加密)
4.比較兩個雜湊值是否相同,相同則簽章有效,不同則簽章無效

安全

和RSA一樣,只要p,q夠大(2048 bits以上)都無破解紀錄
但要注意是
1.對雜湊值做加密而非原文
2.建議將原文做填充到和模數n一樣的order
3.簽章後的傳輸檔案一樣要做加密
4.重複的金鑰組簽章太多次後被破解的可能性會提高
5.雜湊函式要避免有碰撞
不同的原文如果簽出一樣的簽章會有風險


上一篇
Day25- 數位簽章
下一篇
Day27- 數位簽章算法
系列文
簡介密碼學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言